package com.wlyuan.open.scanner.repository;

import com.wlyuan.open.scanner.domain.carrier.Carrier;

import java.util.List;

/**
 * @author lijing
 */
public interface CarrierRepository {

    /**
     * 获取线上线下所有承运方集合
     *
     * @return
     */
    List<Carrier> getList();

    /**
     * 线下承运方
     *
     * @return
     */
    List<Carrier> offline();

    /**
     * 线上承运方
     *
     * @return
     */
    List<Carrier> online();

    /**
     * 获取线下承运方
     *
     * @param id
     * @return
     */
    Carrier getOffline(Long id);

    /**
     * 根据租户获取
     *
     * @param tenantId
     * @return
     */
    void getOfflineTenantId(Long tenantId);

    /**
     * 获取线上承运方
     *
     * @param id
     * @return
     */
    Carrier getOnline(Long id);

    /**
     * 根据租户获取
     *
     * @param tenantId
     * @return
     */
    void getOnlineTenantId(Long tenantId);

    Carrier getOnlineByCompanyId(Long ownerCompanyId, Long companyId);

    Carrier getOnlineById(Long onlineId);

    Carrier getOfflineById(Long offlineId);

    List<Long> getOfflineByTime(String startTime, String endTime);

    List<Long> getOfflineByTenantIdTime(Long tenantId, String startTime, String endTime);

    List<Long> getOnlineByTime(String startTime, String endTime);

    List<Long> getOnlineTenantIdByTime(Long tenantId, String startTime, String endTime);
}
